#ifndef _UINT_H_
#define _UINT_H_

#define YARD_PER_MILE		1760
#define FEET_PER_YARD		3
#define INCH_PER_FEET		12

#define TSP_PER_TBSP		3
#define TBSP_PER_OZ		2


typedef enum
{
    INCH = 0,
    FEET = 1,
    YARD = 2,
    MILE = 3,
    END_LENGTH
} LENGTH_TYPE;

typedef enum
{
    TSP = 0,
    TBSP = 1,
    OZ = 2,
    END_VOLUME
} VOLUME_TYPE;

typedef enum
{
    LENGTH,
    VOLUME
}MEASURE_TYPE;

class Unit
{
    public:
	Unit(MEASURE_TYPE measure, LENGTH_TYPE type);
	Unit(MEASURE_TYPE measure, VOLUME_TYPE type);
	unsigned int getRatio();
	MEASURE_TYPE getMeasureType();
	bool operator == (const Unit & unit) const;

    private:
	unsigned int 	m_ratio;
	MEASURE_TYPE	m_type;
};

#endif
